<?php
/**
 * Created by PhpStorm.
 * User: tangmusen
 * Date: 2017/11/1
 * Time: 16:02
 */

namespace app\api\controller;


use app\admin\model\Members;
use think\Db;
use think\Request;

class Rongyun extends Base
{
    public $appKey = '8w7jv4qb82s8y';
    public $appSecret = 'yXjJYxZm88tf9';

    /**
     * 获取token
     */
    public function get_token($uid,$nickname,$head)
    {
        $RongCloud = new \rongyun\api\RongCloud($this->appKey, $this->appSecret);
        $result = $RongCloud->user()->getToken($uid, $nickname, $head);
        $result = json_decode($result,true);
        return $result['token'];
    }

    /**
     * 创建群组方法（创建群组，并将用户加入该群组，用户将可以收到该群的消息，同一用户最多可加入 500 个群，每个群最大至 3000 人，App 内的群组数量没有限制.注：其实本方法是加入群组方法 /group/join 的别名。）
     */

    public function create_group($member_id,$group_id,$group_name){
        $RongCloud = new \rongyun\api\RongCloud($this->appKey, $this->appSecret);
        $result = $RongCloud->group()->create($member_id, $group_id, $group_name);
        $result = json_decode($result,true);
        return $result['code'];
    }

    /**
     * 同步用户所属群组方法（当第一次连接融云服务器时，需要向融云服务器提交 userId 对应的用户当前所加入的所有群组，此接口主要为防止应用中用户群信息同融云已知的用户所属群信息不同步。）
     */
    public function sync_group (){
        $RongCloud = new \rongyun\api\RongCloud($this->appKey, $this->appSecret);
        $groupInfo['gourid1'] = 'gourpName1';
        $groupInfo['gourid2'] = 'gourpName2';
        $groupInfo['gourid3'] = 'gourpName3';
        $result = $RongCloud->group()->sync('userId1', $groupInfo);
    }

    /**
     * 刷新群组信息方法
     */
    public function refresh_group($group_id,$group_name)
    {
        $RongCloud = new \rongyun\api\RongCloud($this->appKey, $this->appSecret);
        $result = $RongCloud->group()->refresh($group_id, $group_name);
        $result = json_decode($result,true);
        return $result['code'];
    }

    /**
     * 将用户加入指定群组，用户将可以收到该群的消息，同一用户最多可加入 500 个群，每个群最大至 3000 人。
     */
    public function join_group()
    {
        $RongCloud = new \rongyun\api\RongCloud($this->appKey, $this->appSecret);
        $result = $RongCloud->group()->join(["2","3","4"], '001', 'TestGroup');
        var_dump($result);
    }
    /**
     * 将查询群成员方法
     */
    public function query_user_group()
    {
        $RongCloud = new \rongyun\api\RongCloud($this->appKey, $this->appSecret);
        $result = $RongCloud->group()->queryUser('001');
        var_dump($result);
    }
    /**
     *  移除群成员方法
     */
    public function quit_group()
    {
        $RongCloud = new \rongyun\api\RongCloud($this->appKey, $this->appSecret);
        $result = $RongCloud->group()->quit(["2"], '001');
        var_dump($result);
    }

    /**
     * 解散群组方法。（将该群解散，所有用户都无法再接收该群的消息。）
     */

    public function dismiss_group()
    {
        $RongCloud = new \rongyun\api\RongCloud($this->appKey, $this->appSecret);
        $result = $RongCloud->group()->dismiss('userId1', 'groupId1');
    }
    /**
     *   消息历史记录下载地址获取 方法消息历史记录下载地址获取方法。获取 APP 内指定某天某小时内的所有会话消息记录的下载地址。（目前支持二人会话、讨论组、群组、聊天室、客服、系统通知消息历史记录下载）
     */
    public function get_history_group(){
        $RongCloud = new \rongyun\api\RongCloud($this->appKey, $this->appSecret);
        $result = $RongCloud->message()->getHistory('2014010101');
         var_dump($result);
    }

    /**
     * 刷新用户信息方法
     */
    public function refresh_member(){
        $RongCloud = new \rongyun\api\RongCloud($this->appKey, $this->appSecret);
        $result = $RongCloud->user()->refresh('userId1', 'username', 'http://www.rongcloud.cn/images/logo.png');
    }





}

